The Unisys ClearPath MCPvm Servers require no additional hardware other than what comes with the typical Unisys Intel platform, which is running Microsoft Windows™ software to execute the Unisys Master Control Program (MCP) and associated User applications. The MCPvm Servers will still continue to execute code for both the Windows™ operating system, and also the MCP operating system.
The Virtual Machine for ClearPath MCP (VMMCP) software works to enhance the features and functionalities of already-provided VMMCP software releases. These provide for: (i) open server flexibility, where integrated operating environments work concurrently to support both Windows™ and Unisys MCP operating environments; (ii) seamless client-server integration; (iii) scaleable computing with entry to midrange enterprise server performance on current Intel processor technology; (iv) Open Industry Standards, where an enterprise server built on open standards, such as SCSI Ultra 802.3 (Ethernet) LAN interconnect fibre channel connections with copper and optical interfaces, and open software interfaces.
FIG. 1A is a generalized drawing showing a typical server which has a first and second operating system. For example, the first operating system is the Windows™ operating system. The second operating system is the Unisys Master Control Program (MCP) operating system, which can run as a Windows application.
However, because of different protocols, these systems would normally not be compatible except for the use of the Virtual Machine for ClearPath MCP software which translates and interrelates the operating language of the Windows™ system into the Master Control Program operating system and vice-versa, that is to say, the Master Control Program operating system can be made compatible to the Windows™ operating system via the Virtual Machine for ClearPath MCP (VMMCP) software.
In a multi-path configuration, a single disk device, i.e. a hard disk or a logical disk presented with a Logical Unit Number (LUN), is physically connected to multiple host bus adapters (109, 110). FIG. 1A) either through direct connection or in a Storage Area Network. Therefore, this disk device has multiple SCSI (Small Computer System Interface) addresses. For example, in a simple dual-path I/O configuration illustrated in FIG. 1A, where a LUN (108) of a storage system is configured to be visible to two storage ports (106, 107) of a storage system. Each port of the storage system is connected to the server via a different Fibre Channel Host Bus Adapter. This LUN is presented to the host operating system (OS) with two SCSI addresses, representing two possible I/O paths. In FIG. 1A, LUN D possesses one SCSI address, Port A, Bus B, Target C, LUN D, through FC HBA 1 (109) and another address, Port A1, Bus B1, Target C1, LUN D, through FC HBA 2 (110). Without Virtualization, the OS (Windows) will represent such a disk twice to the application. In the example above, LUN D is presented to Windows™ applications as two disk drives. The example in FIG. 1A can be expanded to a more complex multi-path I/O configuration as shown in FIG. 1B, where each LUN is configured to be visible to multiple ports and thus possesses multiple SCSI addresses.
This type of configuration in FIG. 1A is not only confusing to manage but is a potential threat to data integrity. Therefore, the vendor who provides the multi-path capability of a disk storage system typically provides a multi-path software that uses a virtualization technique to hide the multiple instances of a disk device. The virtualization techniques are proprietary to the storage vendors and specific to each storage system. In addition to the multiple “physical” representations (“physical disk node”) that the OS (Windows)™ already supplies, the multi-path software presents to the OS an additional single “virtualized” device (“virtual disk node”). Consequently, the physical disk nodes are “hidden” and only virtual nodes are given access for I/O operations from the OS and its applications. The SCSI address of a virtual node can be the SCSI address of any of its associated physical nodes. In the example that was given in FIG. 1A, the Windows OS represents LUN D as two physical nodes and one virtual node.
FIG. 2 illustrates this representation as it is structured in the host OS device driver space. One of the two physical nodes for LUN D is the combination of items 2002 and 2003 in FIG. 2. The other physical node for LUN D is the combination of items 2006 and 2007. The virtual node is the combination of 2011 and 2012. The SCSI (Small Computer Systems Interface) address of the virtual node can be either Port A Bus B Target C LUN D (2015) or Port A1, Bus B1, Target C1, LUN D (2106), depending on which I/O path the multi-path software (110 in FIG. 1A) decides to be “active.”
Disk virtualization is not an issue for most applications running on the host OS because most applications directly send I/O to disks presented by the OS and are unaware of the low level details of the I/O path. The OS has made the specifics of a disk (e.g. SCSI address, vendor ID, etc) transparent from the application. However, with an application that is using a SCSI pass-through method to send I/O directly to the SCSI disk, disk virtualization becomes a challenge.
For example, the Virtual Machine for ClearPath MCP software emulates the Unisys Proprietary Master Control Program (MCP) (111 in FIG. 1A) on a server running Microsoft's Windows™ operating system. Without methods to recognize and handle disk virtualization, it is impossible to emulate the MCP I/O subsystem using commodity disk storage systems. The specific problems that have to be dealt with are described in the related art.
One related art method to which the method of the present invention generally relates is described in U.S. Pat. No. 6,108,684 entitled “Method And Apparatus For Balancing Loads On A Storage Subsystem Among A Plurality Of Controllers”. This relates art includes Methods and associated apparatus for balancing the I/O request processing load within a plurality of controllers in a storage subsystem. The methods of U.S. Pat. No. 6,108,684 are operable within interconnected controllers of a storage subsystem to shift the processing of received I/O requests to less loaded controllers an to do so in a manner transparent to legacy attached host systems. In a first embodiment of the related art referred to as back-end load balancing, I/O requests are transferred from a first controller, to which the I/O request was directed by the attached host system, to a second controller for further processing. In this back-end load balancing embodiment, all write data associated with a write request as well as returned information including status or read data, is exchanged between the first and second controllers such that the first controller performs all communication with the attached host system. In a second embodiment of U.S. Pat. No. 6,108,684 referred to as front-end load balancing, the first controller receives an I/O request and transfers the request of a second controller. The second controller then completes the I/O request including any requisite communication with the attached host system to receive write data from the host system or to return status or read data to the host system. The return status or read data to the host system. The second controller uses a false ID value, or otherwise substitutes itself for he first controller, in communicating with the attached host system such that the attached host system is fooled to believe that all communication is with first controller.
The present invention differs from the above prior cited art in that the prior invention deals mainly with load balancing, whereas the method of the present invention does not directly deal with load balancing, as this is the responsibility of multi-pathing software. The method of the present invention can be used to work in conjunction with multipathing (virtualization) drivers. The present invention manages two operating systems and enables disk compatibility for one operating system to access storage units.
Yet another related art method to which the method of the present invention generally relates is described in U.S. Pat. No. 6,625,747 entitled “Computer Storage System And Failover Method”. This related art describes a system and method of performing failover in a storage area network. In one embodiment of the present disclosure, a computer network includes a host and a storage system associated with the host. The storage system has a first controller with a first port and a second controller with a second port. The first controller is assigned a common node name and the first port is assigned a first port name. The second controller is assigned a common node name and the second port is assigned a second port name. More specifically a multipathing driver is operable to determine a signal path for a communication sent to a storage device associated with the first controller and the second controller and operable to perform failover operations if the signal path fails.
The present invention differs from the above prior cited art in that the prior invention deals manly with failover whereas the method of the present invention does not directly deal with failover, as it is the responsibility of the multi-pathing software. The method of the present invention can, however, can be used to work in conjunction with multipathing drivers. Further, the present invention utilizes first and second operating systems (OS) such as will block non-compatible formats of the first OS (Windows™) and permit transmission of compatible formats to disk storage from the second operating system (MCP).